package data;

import java.util.Date;
import java.util.List;

import models.Course;
import models.Room;
import models.Student;
import models.Teacher;
import models.TeachingSession;

public interface ICourseDAO {
	public List<Room> getRooms();
	
	public List<Student> listStudents();
	
	public List<Student> listStudents(int courseId );
	
	public void addStudentsToTutor(final int courseId, final int tutorId, final String[] studentIds);
	
	public List<Student> getUnassignedStudents(int courseId);
	
	public List<Student> getTutorStudents(int courseId, int tutorId);
	
	
	public List<Teacher> listTeachers(int courseId);
	
	public List<Teacher> listTutors(int courseId);
	
	public List<Teacher> listLecturers(int courseId);
	
	public List<TeachingSession> listTutorSessions(int courseId, int tutorId);
	
	public List<TeachingSession> listSessions(int courseId);
	
	public Course get(int id) ;
	
	public Object insertTeachingSession(int courseId, int sessionType, int teacherId, int roomId, Date date, String name );
	
	public List<Course> list() ;
	
	public List<Course> listTeacherCourses(int teacherId);
	
	public List<Course> listStudentCourses(int studentId);
}
